######################################################
# 在R输入数据
######################################################
name <- c("胡彬", "姜静")
age <- c(26, 24)
student <- data.frame(name=name, age=age)
student

######################################################
# 在图形界面输入
######################################################
# edit编辑数据框、矩阵
m <- matrix(data = c(1:12), nrow = 3, ncol = 4)
m <- edit(m)
student <- edit(student)
fix(m)
fix(student)

######################################################
# 保存和读入R对象
######################################################
save(student, file = "~/student.RData")
load("~/student.RData")
save.image("~/R/Workspace/.RData")
load("~/R/Workspace/.RData")

######################################################
# 从外部文件导入数据
######################################################
# 符号分割文件
myfile <- read.table(file = "C:/Users/LoveP/Desktop/pima-indians-diabetes.data.csv",
                     sep = ",")
myfile <- read.csv(file = "C:/Users/LoveP/Desktop/pima-indians-diabetes.data.csv",
                     sep = ",", header = F, nrows = 20)
myfile2 <- read.csv(file = "C:/Users/LoveP/Desktop/eggs.csv",
                   sep = " ", header = F, nrows = 20)
# 固定宽度文件
myfile3 <- read.fwf(file = "C:/Users/LoveP/Desktop/test.txt",
                    widths = c(12, -1, 11),
                    col.names = c("物料", "批次"))
# 逐行读取
# 配合字符串处理函数：strsplit(),substr(),nchar(), grep(), regexpr(), sub(), gsub()
con <- file("C:/Users/LoveP/Desktop/test.txt", "r")
line=readLines(con,n=1)
while( length(line) != 0 ) {
  #print(line)
  #print(strsplit(line, split = "#"))
  print(substr(line,1,12))
  print(substr(line,14,10000L))
  line=readLines(con,n=1)
}
close(con)

# 交互式输入
integer <- scan("")
character <- scan("", what = "")

######################################################
# 导出数据
######################################################
write.table(myfile, file = "C:/Users/LoveP/Desktop/test2.txt",
            row.names = F, col.names = F, append = T)
write.csv()

######################################################
# 从数据库获取数据
######################################################
library(nutshell)
system.file("extdata", "bb.db", package = "nutshell")
